Класс PrintJob

Доступность

Flash Player 7.

Описание

Класс PrintJob позволяет Вам более эффективно печатать содержимое. В дополнение ко всему, этот класс предлагает ряд более функциональных методов, нежели функция print(), позволяя Вам генерировать печатаемое содержимое без вывода на экран, используя знакомое пользователю диалоговое окно Print и печатать неотмаштабированное содержимое. Это особенно полезно при генерировании и выводе на печать содержимого из БД и содержимого динамических текстовых полей.

Также при помощи возможностей, предоставляемых методом PrintJob.start(), Вы можете узнавать настройки принтера пользователя, такие как высота страницы, ее ширина, ориентация, чтобы отформатировать соответственным образом печатаемое содержимое. Однако, эти свойства доступны лишь для чтения и при помощи Flash Player изменению не поддаются.

Обзор методов класса PrintJob

Вы должны использовать методы класса PrintJob в порядке, показанном в таблице ниже:

Метод

Описание

PrintJob.start()

Выводит на экран диалог Print и отправляет документы спулеру (программе, отправляющей документы на печать).

PrintJob.addPage()

Добавляет страницу в список спулера .

PrintJob.send()

Отправляет все страницы из спулера на печать.

Конструктор Класс PrintJob

Доступность

Flash Player 7.

Синтаксис

my_pj = new PrintJob() : PrintJob

Параметры

Нет.

Возвращает

Ссылку на объект класса PrintJob.

Описание

Конструктор; создает объект PrintJob.

Для печати при помощи данного класса необходимо использовать следующую последовательность методов. Все команды одной печатной операции должны располагаться в одном кадре, от вызова конструктора класса до вызова метода PrintJob.send(). Замените [параметры]метода my_pj.addPage() своими собственными параметрами.

// Создаем объект PrintJob
var my_pj:PrintJob = new PrintJob();

// Показываем диалоговое окно, однако начинаем печать лишь в том случае, если
// если метод start() возвращает true.
if (my_pj.start()) {

  // Используем переменную для отслеживания успешных вызовов addPage
  var pagesToPrint:Number = 0;

  // Добавляем объекты для печати в список,
  // выполняется один раз для каждой страницы
  if (my_pj.addPage([параметры])) {
    pagesToPrint++;
  }
  if (my_pj.addPage([параметры])) {
    pagesToPrint++;
  }
  if (my_pj.addPage([параметры])) {
    pagesToPrint++;
  }

  // Отправляем страницы из списка спулера на печать лишь в том случае, если
  // хотя бы один вызов addPage() прошел удачно. Всегда следует проверять  
  // успешность вызовов start() и addPage() до вызова метода send().
  if (pagesToPrint > 0) {
    my_pj.send();  // Печатаем страницу(-ы)
  }
}

// Убираем мусор
delete my_pj;  // Удаляем ссылку на объект

Создать второй объект PrintJob в то время, когда один уже активен, невозможно. Вызов new PrintJob(), если один объект класса PrintJob еще активен, не сработает.

Пример

Смотри пример для PrintJob.addPage().

См. также

PrintJob.addPage(), PrintJob.send(), PrintJob.start()